// 以下为我们的手机收到的短信的格式，请利用指针数组与stok函数对其解析
// char msg_src[]="+CMGR:REC UNREAD,+8613466630259,98/10/01,18:22:11+00,ABCdefGHI";
// 参考以下的函数名字以及参数，完成相应的要求
// int msg deal(char *msg src,char *msg done[],char *str)
// 参数1：待切割字符串的首地址
// 参数2：指针数组：存放切割完字符串的首地址
// 参数3：切割字符
// 返回值：切割的字符串总数量
/*
输入分割字符:
,
5
+CMGR:REC UNREAD
+8613466630259
98/10/01
18:22:11+00
ABCdefGHI
*/
#include <stdio.h>
#include <string.h>

int msg_deal(char *msg_src, char **msg_done, char *str);

int main(int argc, char **argv)
{
    char msg_src[] = "+CMGR:REC UNREAD,+8613466630259,98/10/01,18:22:11+00,ABCdefGHI";
    char *buf[20] = {msg_src};
    char str[10] = "";
    int i = 0;

    // 人机交互
    printf("输入分割字符:\n");
    scanf("%s", str);

    // 处理函数
    msg_deal(msg_src, buf, str);

    // 输出验证
    while (buf[i] != NULL)
    {
        printf("%s\n", buf[i]);
        i++;
    }
    return 0;
}

int msg_deal(char *msg_src, char **msg_done, char *str)
{
    int i = 0;

    // 字符串分割
    msg_done[0] = msg_src;
    while ((msg_done[i] = strtok(msg_done[i], str)) && ++i);

    printf("%d\n", i);

    return i;

}